home *** CD-ROM | disk | FTP | other *** search
/ Windows News 2005 February / WN_129_CD.iso / Windows / Extensions Firefox / PrefBar / prefbar-2.3.1-Fr.xpi / install.js < prev    next >
Text File  |  2004-10-20  |  2KB  |  94 lines

  1. var version     = '2.3.1';
  2.  
  3. const localePacks  = {"fr-FR":    true,
  4.                       // all possible languages for installation
  5.                       };
  6.  
  7. const displayName = 'Preferences Toolbar';
  8. const appName     = 'prefbar';
  9. const author      = 'Manuel Reimer';
  10.  
  11. const jarName     = appName + '.jar';
  12.  
  13. var installedFiles   = [];
  14. var localesToInstall = [];
  15. var SetupLocaleDB    = null;
  16.  
  17. function DoLanguageStuff()
  18. {
  19.     var languageAttrib = decodeURIComponent(Install.arguments);
  20.     var SetupLocale = "";
  21.     if (languageAttrib in localePacks)
  22.     {
  23.         localesToInstall.push(languageAttrib);
  24.         SetupLocale = languageAttrib;
  25.     }
  26.     else
  27.     {
  28.         for (s in localePacks)
  29.               localesToInstall.push(s);
  30.         SetupLocale = "en-US";    
  31.     }
  32.     SetupLocaleDB = loadResources(SetupLocale);
  33. }
  34.  
  35. function InstallAddon()
  36. {
  37.     var err = initInstall(displayName, appName, version);
  38.     if (err != SUCCESS) return SOURCE_DOES_NOT_EXIST;
  39.  
  40.     DoLanguageStuff();
  41.  
  42.     var UChrome    = getFolder('Chrome');
  43.     var contentFlag = CONTENT | DELAYED_CHROME;
  44.     var localeFlag  = LOCALE | DELAYED_CHROME;
  45.  
  46.     var existsInGlobal  = File.exists(getFolder(UChrome, jarName));
  47.     var existsInProfile = File.exists(getFolder(getFolder('Current User', 'chrome'), jarName));
  48.     if (existsInGlobal && existsInProfile) return ALREADY_EXISTS;
  49.  
  50.     if (existsInProfile ||
  51.         (!existsInGlobal && confirm(SetupLocaleDB.installToChrome))) {
  52.         UChrome = getFolder('Current User', 'chrome');
  53.         contentFlag = CONTENT | PROFILE_CHROME;
  54.         localeFlag  = LOCALE | PROFILE_CHROME;
  55.     }
  56.  
  57.  
  58.     logComment('initInstall: ' + err);
  59.     setPackageFolder(UChrome);
  60.  
  61.     addFile(displayName, 'chrome/' + jarName, UChrome, '');
  62.     var folder = getFolder(UChrome, jarName);
  63.     installedFiles.push(folder);
  64.  
  65.     // Content
  66.     registerChrome(contentFlag, folder, 'content/'+appName+'/');
  67.  
  68.     // Language packs
  69.     for (s in localesToInstall)
  70.         registerChrome(localeFlag, folder, 'locale/' + localesToInstall[s] + '/'+appName+'/');
  71.  
  72.  
  73.     err = getLastError();
  74.     if (err != SUCCESS)
  75.     {
  76.         alert(SetupLocaleDB.installfailed);
  77.         return err;
  78.     }
  79.  
  80.     err = performInstall();
  81.     if (err != SUCCESS && err != REBOOT_NEEDED)
  82.     {
  83.         alert(SetupLocaleDB.installfailed);
  84.         return err;
  85.     }
  86.  
  87.     alert('Ver.'+version+'\n\n'+ SetupLocaleDB.installed + '\n' + installedFiles.join('\n') + '\n\n\n' + SetupLocaleDB.complete);
  88.     return SUCCESS;
  89. }
  90.  
  91. // Start this install script
  92. var status = InstallAddon();
  93. if (status != SUCCESS) cancelInstall(status);
  94.